﻿@using BasicWebSite.Services
@inject WeatherForecastService ForecastService
@preservewhitespace true
<h1>Weather forecast</h1>

<p>This component demonstrates fetching data from the server.</p>

@if (forecasts == null)
{
    <p><em>Loading...</em></p>
}
else
{
    <p>Weather data for @(StartDate.ToString("MM/dd/yyyy"))</p>
    <table class='table'>
        <thead>
            <tr>
                <th>Date</th>
                <th>Temp. (C)</th>
                <th>Temp. (F)</th>
                <th>Summary</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var forecast in forecasts)
            {
                <tr>
                    <td>@forecast.DateFormatted</td>
                    <td>@forecast.TemperatureC</td>
                    <td>@forecast.TemperatureF</td>
                    <td>@forecast.Summary</td>
                </tr>
            }
        </tbody>
    </table>
}
@code {
    [Parameter] public DateTime StartDate { get; set; }

    WeatherForecast[] forecasts;

    protected override async Task OnParametersSetAsync()
    {
        // If no value was given in the URL for StartDate, apply a default
        if (StartDate == default)
        {
            StartDate = DateTime.Now;
        }

        forecasts = await ForecastService.GetForecastAsync(StartDate);
    }
}